1. Field of the Invention
The present invention relates to a game device and a storage medium storing a game program and, more particularly, to a game device and a storage medium storing a game program for a video game where the player uses two input devices.
2. Description of the Background Art
There are conventional video games of the type where the player controls a plurality of control objects at the same time. In a boxing game of this type, the player separately controls the left hand and the right hand of the boxer (player object), and in some cases also separately controls the body of the boxer. In such a case, the player controls three control objects at the same time, i.e., the left and right hands of the boxer and the body of the boxer as a whole.
Examples of such boxing games include those disclosed in Patent Document 1 (Japanese Laid-Open Patent Publication No. 2002-200339), Patent Document 2 (Japanese Laid-Open Patent Publication No. 07-185131) and Patent Document 3 (Japanese Laid-Open Patent Publication No. 2002-153673), for example. Patent Document 1 discloses a game device in which the player controls various parts of the player object. The game device employs, as input devices, a pair of (left and right) controllers each including acceleration sensors for three axial directions. The moving direction and the acceleration of the pair of controllers are detected by using the acceleration signals obtained from the controllers, based on which the punching action of the player object is controlled.
Patent Document 2 discloses a game system in which the player controls various parts of the player object. In the game system, markers are attached to various parts of the body of the player, e.g., head, hands, arms, legs, torso, etc., based on which the movement of the player object is controlled. The game system detects the position of each marker based on an image of the player captured by a video camera, and controls the various parts of the player object so as to follow the movement of the player, based on the detected positions.
Patent Document 3 discloses the use of two controllers separately detecting the movement in at least two axial directions. The player holds and moves the two controllers, one in the left hand and the other in the right hand, and the controllers output signals according to the movement of the controllers. Using these signals, the game device controls the punching action of the player object, i.e., the movement of the two hands of the player object. In addition to the two controllers, the game device also includes a head detecting section (being a CCD camera) for detecting the position of the head of the player. The output from the head detecting section is used to control the viewpoint of the game image, i.e., the movement of the head of the player object.
The game device of Patent Document 1 uses two controllers as input devices so as to control the punching action of the player object, i.e., the movement of the two hands of the player object. However, Patent Document 1 fails to give any consideration to the movement other than the movement of the two hands. Therefore, with Patent Document 1, the player cannot move other parts or the body as a whole of the player object. Thus, the player cannot control three control objects at the same time.
With Patent Document 2, markers are attached to various parts of the player, whereby it is possible to control various parts of the player object corresponding to the various parts of the player. In Patent Document 3, with the provision of the head detecting section (camera) in addition to the two controllers, it is possible to control three parts of the player object, i.e., the two hands and the head. However, Patent Documents 2 and 3 require additional components, such as the camera, whereby the device as a whole is complicated, large in size and expensive.
Patent Documents 1 and 3 both disclose the use of two input devices each controlled while being held in hand. However, the two input devices are only controlled separately, but not in a coordinated manner so that the game device can detect the coordinated movement of the input devices as such.
Therefore, a feature of the illustrative implementations is to provide a game device and a game program, which with a simple configuration enables the player to control a plurality of objects.
Another feature of the illustrative implementations is to provide a game device and a game program, which enables the player to move two input devices in a coordinated manner so that the coordinated movement is detected as such.
An illustrative implementation has the following features to attain the objects mentioned above. Note that parenthetic expressions in the following section (reference numerals, supplementary explanations, etc.) are merely to indicate the correlation between what is described in the following section and what is described in the description of the preferred embodiments set out further below in the present specification, and are in no way intended to restrict the scope of the present invention.
A first aspect of any illustrative implementation is directed to a computer-readable storage medium, storing a game program (71) to be executed by a computer (the CPU 10, etc.) of a game device (3) for performing a game process based on data outputted from a first sensor (the acceleration sensor 37) and data outputted from a second sensor (the acceleration sensor 55), wherein the first sensor outputs first data (the first acceleration data 721) representing a value according to an orientation or movement of a first input device (the main controller 5a) and the second sensor outputs second data (the second acceleration data 722) representing a value according to an orientation or movement of a second input device (the sub-controller 5b). The game program instructs the computer to perform a data obtaining step (S1), a similarity degree calculating step (S11, S12, S21, S23, and S24), and a change amount calculating step (S25). The data obtaining step is a step of obtaining the first data and the second data. The similarity degree calculating step is a step of calculating, based on the first data and the second data, a degree of similarity between a state of the first input device with respect to the orientation or movement thereof and a state of the second input device with respect to the orientation or movement thereof. The change amount calculating step is a step of calculating, based on at least one of the first data and the second data, an amount of change by which to change a value of a game parameter to be used in the game process (the amount by which the torso object 63 is moved) in such a manner that the amount of change is greater as the degree of similarity is greater.
In a second aspect, in the change amount calculating step, the computer calculates an amount of movement by which to move a first object (the torso object 63) in a game space in such a manner that the amount of movement is greater as the degree of similarity is greater.
In a third aspect, the game program instructs the computer to further perform an object movement step. The object movement step is a step of moving a second object (the right hand object 61) in the game space based on the first data and moving a third object (the left hand object 62) in the game space based on the second data.
In a fourth aspect, the first object is an object representing a torso or a head of a human-shaped character. One of the second object and the third object is an object representing a right hand of the human-shaped character and the other is an object representing a left hand thereof.
In a fifth aspect, the first sensor is an acceleration sensor outputting data representing an acceleration as the first data. The second sensor is an acceleration sensor outputting data representing an acceleration as the second data.
In a sixth aspect, the game program instructs the computer to further perform a first determination step (S3) and a second determination step (S5). The first determination step is a step of determining, based on the first data, whether the first input device is subjected to an operation (the punch operation) that gives a rapid change to an orientation or position of the first input device, the degree of rapidness of the rapid change being greater than or equal to a predetermined degree. The second determination step is a step of determining, based on the second data, whether the second input device is subjected to an operation (the punch operation) that gives a rapid change to an orientation or position of the second input device, the degree of rapidness of the rapid change being greater than or equal to a predetermined degree. In the similarity degree calculating step, the computer calculates a degree of similarity between the orientation of the first input device and that of the second input device only if a determination result of the first determination step and that of the second determination step are both false.
In a seventh aspect, the game program instructs the computer to further perform an action control step (S4 or S6). The action control step is a step of activating a predetermined action (the punch action) of the first object or other objects only if at least one of the determination result of the first determination step and that of the second determination step is true. In the change amount calculating step, the computer calculates, as the amount of change, an amount of movement by which the first object is moved in a game space only if the determination result of the first determination step and that of second determination step are both false.
An eighth aspect of an illustrative implementation is directed to a computer-readable storage medium, storing a game program (71) to be executed by a computer (the CPU 10, etc.) of a game device (3) for performing a game process based on data outputted from a first sensor (the acceleration sensor 37) and data outputted from a second sensor (the acceleration sensor 55), wherein the first sensor outputs first data (the first acceleration data 721) representing a value according to an orientation or movement of a first input device (the main controller 5a) and the second sensor outputs second data (the second acceleration data 722) representing a value according to an orientation or movement of a second input device (the sub-controller 5b). The game program instructs the computer to perform a data obtaining step (S1), a similarity degree calculating step (S11, S21, S23, and S24), a first game process step (S14), and a second game process step (S25 to S27). The data obtaining step is a step of obtaining the first data from the first sensor and the second data from the second sensor. The similarity degree calculating step is a step of calculating, based on the first data and the second data, a degree of similarity between a state of the first input device with respect to the orientation or movement thereof and a state of the second input device with respect to the orientation or movement thereof. The first game process step is a step of performing a first game process based on the first data or the second data. The second game process step is a step of performing a second game process based on the first data and the second data only if a value of the degree of similarity is greater than a predetermined value.
In a ninth aspect, in the second game process step, the computer performs, as the second game process, a process of calculating, based on at least one of the first data and the second data, an amount of change (the amount by which the torso object 63 is moved) by which to change a value of a game parameter to be used in the game process in such a manner that the amount of change is greater as the degree of similarity is greater.
In a tenth aspect, the first sensor is an acceleration sensor outputting data representing an acceleration as the first data. The second sensor is an acceleration sensor outputting data representing an acceleration as the second data.
In an eleventh aspect, the first data represents an acceleration value with respect to a predetermined axial direction (the X-axis direction shown in FIG. 3) with reference to the first input device. The second data represents an acceleration value with respect to a predetermined axial direction (the X-axis direction shown in FIG. 6) with reference to the second input device. In the similarity degree calculating step, the computer calculates the degree of similarity based on a difference (the difference C) between a value of the first data and a value of the second data.
In a twelfth aspect, the degree of similarity calculated in the similarity degree calculating step takes a higher value as the difference is smaller.
In a thirteenth aspect, the first data represents a vector (A1XY) whose components are acceleration values with respect to a plurality of predetermined axial directions (the X-axis direction and the Y-axis direction) with reference to the first input device. The second data represents a vector (A2XY) whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the second input device. In the similarity degree calculating step, the computer calculates the degree of similarity based on a difference between a vector represented by the first data and a vector represented by the second data.
In a fourteenth aspect, the degree of similarity calculated in the similarity degree calculating step takes a higher value as the difference between the vectors is smaller.
In a fifteenth aspect, the first data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the first input device. The second data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the second input device. In the similarity degree calculating step, the computer calculates the degree of similarity based on a difference between a vector representing an amount of change in the vector represented by the first data over a predetermined amount of time and a vector representing an amount of change in the vector represented by the second data over the predetermined amount of time.
In a sixteenth aspect the degree of similarity calculated in the similarity degree calculating step takes a higher value as the difference between the vectors is smaller.
In a seventeenth aspect, the first data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the first input device. The second data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the second input device. In the similarity degree calculating step, the computer calculates the degree of similarity based on an angular difference between a vector representing an amount of change in the vector represented by the first data over a predetermined amount of time and a vector representing an amount of change in the vector represented by the second data over the predetermined amount of time.
In an eighteenth aspect, the degree of similarity calculated in the similarity degree calculating step takes a higher value as the angular difference between the vectors is smaller.
In a nineteenth aspect, the first data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the first input device. The second data represents a vector whose components are acceleration values with respect to a plurality of predetermined axial directions with reference to the second input device. In the similarity degree calculating step, the computer calculates the degree of similarity based on an angular difference between a vector represented by the first data and a vector represented by the second data.
In a twentieth aspect, the degree of similarity calculated in the similarity degree calculating step takes a higher value as the angular difference between the vectors is smaller.
In a twenty-first aspect, the first sensor outputs vector data (the acceleration data) representing an orientation of the first input device as the first data, and the second sensor outputs vector data (the acceleration data) representing an orientation of the second input device as the second data. In the similarity degree calculating step, the computer calculates a degree of similarity between an orientation of the first input device and an orientation of the second input device.
The present invention may be in the form of a game device having equal functions to those of a game device capable of performing the steps described above.
According to the first aspect, the amount of change, which is calculated based on at least one of the first data and the second data, is greater as the degree of similarity is greater. Thus, the amount of change is large when two input devices are moved similarly. Therefore, the player can play the game by an operation of moving the two input devices in a coordinated manner. As the two input devices are moved more similarly, the effect of the operation (i.e., the amount of change) is greater. Therefore, the player is required to learn the skill of moving the two input devices in a coordinated manner. Thus, the player is given a challenging novel operation. Moreover, according to the first aspect, the operation of separately moving the two input devices has little effect on the amount of change, whereby the operation of separately moving the input devices can be used independently of the operation of controlling the amount of change. Therefore, if the first aspect of the present invention is used where a plurality of control objects are controlled with two input devices, it is possible to easily control the plurality of control objects.
According to the second aspect, an object can be moved in the game space through an operation of moving two input devices in a coordinated manner.
According to the third aspect, the first object can be controlled by moving the first input device, the second object can be controlled by moving the second input device, and the third object can be controlled by moving both the first and second input devices. Therefore, three control objects can be controlled simultaneously with a simple configuration using two input devices.
According to the fourth aspect, the two hands and the torso of a human-shaped object can be controlled separately by using two input devices.
According to the fifth aspect, an acceleration sensor is provided in the input device, whereby the orientation or movement of the input device can easily be calculated based on the output data from the acceleration sensor. Thus, the degree of similarity can easily be calculated based on the calculated orientation or movement.
According to the sixth aspect, when either input device is moved rapidly, the degree of similarity is not calculated, and the amount of change is not calculated. When an input device having an acceleration sensor therein is moved rapidly, it may not be possible to accurately calculate the inclination or the movement of the input device based on the output from the acceleration sensor. According to the sixth aspect, however, it is possible to prevent such an inaccurate calculation.
According to the seventh aspect, an object can be moved in the game space through the operation of moving two input devices in a coordinated manner, and another operation can be performed by rapidly moving an input device.
According to the eighth aspect, the first game process is performed through an operation of moving the first input device or the second input device, and the second game process is performed through an operation of moving the first input device and the second input device. Therefore, a plurality of types of game operations can be done with a simple configuration using two input devices. If the two input devices are moved separately so that the degree of similarity is less than or equal to a predetermined degree, the second game process is not performed. Therefore, when the player moves the input devices separately intending to perform the first game process, the second game process, which is not intended by the player, will not be performed, thus providing an improved controllability in a video game using two input devices.
According to the ninth aspect, as the two input devices are moved more similarly, the effect of the operation (i.e., the amount of change) is greater. Therefore, the player is required to learn the skill of moving the two input devices in a coordinated manner. Thus, the player is given a challenging novel operation.
According to the tenth aspect, an acceleration sensor is provided in the input device, whereby the orientation or movement of the input device can easily be calculated based on the output data from the acceleration sensor. Thus, the degree of similarity can easily be calculated based on the calculated orientation or movement.
According to the eleventh and twelfth aspects, the degree of similarity is calculated based on the acceleration in a single axial direction, whereby it is possible to easily calculate the orientation of each input device, and to easily calculate the degree of similarity between the orientations of the input devices.
According to the thirteenth, fourteenth, nineteenth and twentieth aspects, the degree of similarity is calculated based on the acceleration in multiple axial directions, whereby it is possible to accurately calculate the orientation of each input device, and to accurately calculate the degree of similarity between the orientations of the input devices.
According to the fifteenth to eighteenth aspects, the degree of similarity is calculated based on the amount of change in the acceleration in multiple axial directions, whereby it is possible to accurately calculate the movement of each input device (including the change in the orientation thereof), and to accurately calculate the degree of similarity between the movements of the input devices. Moreover, it is possible to provide a video game with a novel game operation of moving two input devices in a coordinated manner so that the movements of the two input devices (including the change in the orientation thereof) are the same.
According to the twenty-first aspect, it is possible to provide a video game with a novel game operation of moving two input devices in a coordinated manner so that the orientations of the two input devices are the same.
These and other objects, features, aspects and advantages of the present illustrative implementations will become more apparent from the following detailed description of the illustrative implementations when taken in conjunction with the accompanying drawings.